// 封装地图的方法的
import AMapLoader from "@amap/amap-jsapi-loader";

let map;

const aMap = {
  // 初始化地图
  init(key, code, zoom, center) {
    return new Promise((resolve) => {
      window._AMapSecurityConfig = {
        securityJsCode: code,
      };
      AMapLoader.load({
        key: key, // 申请好的Web端开发者Key，首次调用 load 时必填
        version: "2.0", // 指定要加载的 JS API 的版本，缺省时默认为 1.4.15
        plugins: [], // 需要使用的的插件列表，如比例尺'AMap.Scale'等
      })
        .then((AMap) => {
          // map表示地图实例
          map = new AMap.Map("map", {
            zoom: zoom, //初始化地图层级
            center: center, //初始化地图中心点
          });
          resolve();
        })
        .catch((e) => {
          console.log(e);
        });
    });
  },

  // 添加点坐标
  addMarker(lng, lat) {
    const position = new AMap.LngLat(lng, lat); // Marker经纬度
    const marker = new AMap.Marker({
      position: position,
    });
    map.add(marker);
  },

  // 添加工具条
  addToolBar() {
    AMap.plugin("AMap.ToolBar", function () {
      // 异步加载插件
      toolbar = new AMap.ToolBar(); // 缩放工具条实例化
      map.addControl(toolbar);
    });
  },
};

export default aMap;
